package com.baizw.cultivation.common.response;

import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 分页结果对象
 *
 * @author 剧终1204
 * @version V1.0
 * @date 2020年07月22日 11:28
 */
@Data
@ApiModel
public class ResultPage<T> {

    /**
     * 成功标志
     */
    @ApiModelProperty(value = "成功标志")
    private boolean success = true;

    /**
     * 返回处理消息
     */
    @ApiModelProperty(value = "返回处理消息")
    private String message = "操作成功！";

    /**
     * 返回数据对象 data
     */
    @ApiModelProperty(value = "返回数据对象")
    private List<?> records;

    @ApiModelProperty("当前第几页")
    private long pageNo = 0;

    @ApiModelProperty("每页显示条数")
    private long pageSize = 10;

    @ApiModelProperty("总条数")
    private long total;

    /**
     * 返回分页结果
     *
     * @param page 分页结果对象
     * @param <T>  泛型
     * @return
     */
    public static <T> ResultPage<T> success(IPage<T> page) {
        ResultPage<T> resultPage = new ResultPage<>();
        resultPage.setPageNo(page.getCurrent());
        resultPage.setPageSize(page.getSize());
        resultPage.setTotal(page.getTotal());
        resultPage.setRecords(page.getRecords());
        return resultPage;
    }

}
